#include <iostream>
#include <cstring>
#include <vector>
using namespace std;

int main()
{
    string s1{"abc"};
    // 把 s1 强制转换为 std::string&&（右值引用），然后调用 std::string 的移动构造函数来构造 s2
    string s2{move(s1)};
    // 1、此时s1内部已经被掏空
    cout << s1 << endl;
    cout << s2 << endl;
    
    cout << "--------------" << endl;
    vector<int> v1{1, 2, 3};
    vector<int> v2{std::move(v1)};
    for (auto i : v2)
    {
        cout << i << endl;
    }
    cout << "v1.size() is " << v1.size() << endl;
    return 0;
}
